home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / Displays.p < prev    next >
Text File  |  1996-05-01  |  23KB  |  565 lines

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Displays;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __DISPLAYS__}
  28. {$SETC __DISPLAYS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC DisplaysIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __CONDITIONALMACROS__}
  35. {$I ConditionalMacros.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __COMPONENTS__}
  38. {$I Components.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __VIDEO__}
  41. {$I Video.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __APPLEEVENTS__}
  44. {$I AppleEvents.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __WINDOWS__}
  47. {$I Windows.p}
  48. {$ENDC}
  49. {$IFC UNDEFINED __EVENTS__}
  50. {$I Events.p}
  51. {$ENDC}
  52. {$IFC UNDEFINED __PROCESSES__}
  53. {$I Processes.p}
  54. {$ENDC}
  55. {$IFC UNDEFINED __DIALOGS__}
  56. {$I Dialogs.p}
  57. {$ENDC}
  58.  
  59. {$PUSH}
  60. {$ALIGN MAC68K}
  61. {$LibExport+}
  62.  
  63. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  64.  
  65. CONST
  66.                                                                 {  AppleEvents Core Suite  }
  67.     kAESystemConfigNotice        = 'cnfg';                        {  Core Suite types  }
  68.     kAEDisplayNotice            = 'dspl';
  69.     kAEDisplaySummary            = 'dsum';
  70.     keyDMConfigVersion            = 'dmcv';
  71.     keyDMConfigFlags            = 'dmcf';
  72.     keyDMConfigReserved            = 'dmcr';
  73.     keyDisplayID                = 'dmid';
  74.     keyDisplayComponent            = 'dmdc';
  75.     keyDisplayDevice            = 'dmdd';
  76.     keyDisplayFlags                = 'dmdf';
  77.     keyDisplayMode                = 'dmdm';
  78.     keyDisplayModeReserved        = 'dmmr';
  79.     keyDisplayReserved            = 'dmdr';
  80.     keyDisplayMirroredId        = 'dmmi';
  81.     keyDeviceFlags                = 'dddf';
  82.     keyDeviceDepthMode            = 'dddm';
  83.     keyDeviceRect                = 'dddr';
  84.     keyPixMapRect                = 'dpdr';
  85.     keyPixMapHResolution        = 'dphr';
  86.     keyPixMapVResolution        = 'dpvr';
  87.     keyPixMapPixelType            = 'dppt';
  88.     keyPixMapPixelSize            = 'dpps';
  89.     keyPixMapCmpCount            = 'dpcc';
  90.     keyPixMapCmpSize            = 'dpcs';
  91.     keyPixMapAlignment            = 'dppa';
  92.     keyPixMapResReserved        = 'dprr';
  93.     keyPixMapReserved            = 'dppr';
  94.     keyPixMapColorTableSeed        = 'dpct';
  95.     keySummaryMenubar            = 'dsmb';
  96.     keySummaryChanges            = 'dsch';
  97.     keyDisplayOldConfig            = 'dold';
  98.     keyDisplayNewConfig            = 'dnew';
  99.  
  100.     dmOnlyActiveDisplays        = 1;
  101.     dmAllDisplays                = 0;
  102.  
  103.                                                                 {  Switch Flags  }
  104.     kNoSwitchConfirmBit            = 0;                            {  Flag indicating that there is no need to confirm a switch to this mode  }
  105.     kDepthNotAvailableBit        = 1;                            {  Current depth not available in new mode  }
  106.     kShowModeBit                = 3;                            {  Show this mode even though it requires a confirm.  }
  107.     kModeNotResizeBit            = 4;                            {  Do not use this mode to resize display (for cards that mode drives a different connector).  }
  108.     kNeverShowModeBit            = 5;                            {  This mode should not be shown in the user interface.  }
  109.  
  110. {
  111.     Summary Change Flags (sticky bits indicating an operation was performed)
  112.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  113. }
  114.     kBeginEndConfigureBit        = 0;
  115.     kMovedDisplayBit            = 1;
  116.     kSetMainDisplayBit            = 2;
  117.     kSetDisplayModeBit            = 3;
  118.     kAddDisplayBit                = 4;
  119.     kRemoveDisplayBit            = 5;
  120.     kNewDisplayBit                = 6;
  121.     kDisposeDisplayBit            = 7;
  122.     kEnabledDisplayBit            = 8;
  123.     kDisabledDisplayBit            = 9;
  124.     kMirrorDisplayBit            = 10;
  125.     kUnMirrorDisplayBit            = 11;
  126.  
  127.                                                                 {  Notification Messages for extended call back routines  }
  128.     kDMNotifyInstalled            = 1;                            {  At install time  }
  129.     kDMNotifyEvent                = 2;                            {  Post change time  }
  130.     kDMNotifyRemoved            = 3;                            {  At remove time  }
  131.     kDMNotifyPrep                = 4;                            {  Pre change time  }
  132.     kDMNotifyExtendEvent        = 5;                            {  Allow registrees to extend apple event before it is sent  }
  133.     kDMNotifyDependents            = 6;                            {  Minor notification check without full update  }
  134.     kDMNotifySuspendConfigure    = 7;                            {  Temporary end of configuration  }
  135.     kDMNotifyResumeConfigure    = 8;                            {  Resume configuration  }
  136.                                                                 {  Notification Flags  }
  137.     kExtendedNotificationProc    = $00010000;
  138.  
  139. {  types for notifyType  }
  140.     kFullNotify                    = 0;                            {  This is the appleevent whole nine yards notify  }
  141.     kFullDependencyNotify        = 1;                            {  Only sends to those who want to know about interrelated functionality (used for updating UI)  }
  142.  
  143. {  DisplayID/DeviceID constants  }
  144.     kDummyDeviceID                = $00FF;                        {  This is the ID of the dummy display, used when the last ``real'' display is disabled. }
  145.     kInvalidDisplayID            = $0000;                        {  This is the invalid ID }
  146.     kFirstDisplayID                = $0100;
  147.  
  148.                                                                 {  bits for panelListFlags  }
  149.     kAllowDuplicatesBit            = 0;
  150.  
  151.                                                                 {  bits for nameFlags  }
  152.     kSuppressNumberBit            = 0;
  153.     kSuppressNumberMask            = 1;
  154.     kForceNumberBit                = 1;
  155.     kForceNumberMask            = 2;
  156.     kSuppressNameBit            = 2;
  157.     kSuppressNameMask            = 4;
  158.  
  159. {  Constants for fidelity checks  }
  160.     kNoFidelity                    = 0;
  161.     kMinimumFidelity            = 1;
  162.     kDefaultFidelity            = 500;                            {  I'm just picking a number for Apple default panels and engines }
  163.     kDefaultManufacturerFidelity = 1000;                        {  I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults) }
  164.  
  165.     kAnyPanelType                = 0;                            {  Pass to DMNewEngineList for list of all panels (as opposed to specific types) }
  166.     kAnyEngineType                = 0;                            {  Pass to DMNewEngineList for list of all engines }
  167.     kAnyDeviceType                = 0;                            {  Pass to DMNewDeviceList for list of all devices }
  168.     kAnyPortType                = 0;                            {  Pass to DMNewDevicePortList for list of all devices }
  169.  
  170. {  portListFlags for DM_NewDevicePortList  }
  171.                                                                 {  Should offline devices be put into the port list (such as dummy display)  }
  172.     kPLIncludeOfflineDevicesBit    = 0;
  173.  
  174.  
  175. TYPE
  176.     DMFidelityType                        = LONGINT;
  177. {
  178.  AVID is an ID for ports and devices the old DisplayID type
  179.     is carried on for compatibility
  180. }
  181.     AVIDType                            = LONGINT;
  182.     DisplayIDType                        = AVIDType;
  183.     DMListType                            = Ptr;
  184.     DMListIndexType                        = LONGINT;
  185.     AVPowerStateRec                        = VDPowerStateRec;
  186.     AVPowerStateRecPtr                     = ^AVPowerStateRec;
  187.     AVPowerStatePtr                        = ^VDPowerStateRec;
  188.     DMComponentListEntryRecPtr = ^DMComponentListEntryRec;
  189.     DMComponentListEntryRec = RECORD
  190.         itemID:                    DisplayIDType;                            {  DisplayID Manager }
  191.         itemComponent:            Component;                                {  Component Manager }
  192.         itemDescription:        ComponentDescription;                    {  We can always construct this if we use something beyond the compontent mgr. }
  193.         itemClass:                ResType;                                {  Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices) }
  194.         itemFidelity:            DMFidelityType;                            {  How good is this item for the specified search? }
  195.         itemSubClass:            ResType;                                {  Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel) }
  196.         itemSort:                Point;                                    {  Set to 0 - future to sort the items in a sub group. }
  197.         itemFlags:                LONGINT;                                {  Set to 0 (future expansion) }
  198.         itemReserved:            ResType;                                {  What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only) }
  199.         itemFuture1:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  200.         itemFuture2:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  201.         itemFuture3:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  202.         itemFuture4:            LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  203.     END;
  204.  
  205.     DMComponentListEntryPtr                = ^DMComponentListEntryRec;
  206. {  *** Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created }
  207.     AVLocationRecPtr = ^AVLocationRec;
  208.     AVLocationRec = RECORD
  209.         locationConstant:        LONGINT;                                {  Set to 0 (future expansion - probably an alternate code style) }
  210.     END;
  211.  
  212.     AVLocationPtr                        = ^AVLocationRec;
  213.     DMDepthInfoRecPtr = ^DMDepthInfoRec;
  214.     DMDepthInfoRec = RECORD
  215.         depthSwitchInfo:        VDSwitchInfoPtr;                        {  This is the switch mode to choose this timing/depth  }
  216.         depthVPBlock:            VPBlockPtr;                                {  VPBlock (including size, depth and format)  }
  217.         depthFlags:                LONGINT;                                {  Reserved  }
  218.         depthReserved1:            LONGINT;                                {  Reserved  }
  219.         depthReserved2:            LONGINT;                                {  Reserved  }
  220.     END;
  221.  
  222.     DMDepthInfoPtr                        = ^DMDepthInfoRec;
  223.     DMDepthInfoBlockRecPtr = ^DMDepthInfoBlockRec;
  224.     DMDepthInfoBlockRec = RECORD
  225.         depthBlockCount:        LONGINT;                                {  How many depths are there?  }
  226.         depthVPBlock:            DMDepthInfoPtr;                            {  Array of DMDepthInfoRec  }
  227.         depthBlockFlags:        LONGINT;                                {  Reserved  }
  228.         depthBlockReserved1:    LONGINT;                                {  Reserved  }
  229.         depthBlockReserved2:    LONGINT;                                {  Reserved  }
  230.     END;
  231.  
  232.     DMDepthInfoBlockPtr                    = ^DMDepthInfoBlockRec;
  233.     DMDisplayModeListEntryRecPtr = ^DMDisplayModeListEntryRec;
  234.     DMDisplayModeListEntryRec = RECORD
  235.         displayModeFlags:        LONGINT;
  236.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  237.         displayModeResolutionInfo: VDResolutionInfoPtr;
  238.         displayModeTimingInfo:    VDTimingInfoPtr;
  239.         displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                    {  Information about all the depths }
  240.         displayModeReserved1:    Ptr;                                    {  Reserved }
  241.         displayModeName:        StringPtr;                                {  Name of the timing mode }
  242.     END;
  243.  
  244.     DMDisplayModeListEntryPtr            = ^DMDisplayModeListEntryRec;
  245.     DependentNotifyRecPtr = ^DependentNotifyRec;
  246.     DependentNotifyRec = RECORD
  247.         notifyType:                ResType;                                {  What type was the engine that made the change (may be zero) }
  248.         notifyClass:            ResType;                                {  What class was the change (eg geometry, color etc) }
  249.         notifyPortID:            DisplayIDType;                            {  Which device was touched (kInvalidDisplayID -> all or none) }
  250.         notifyComponent:        ComponentInstance;                        {  What engine did it (may be 0)? }
  251.         notifyVersion:            LONGINT;                                {  Set to 0 (future expansion) }
  252.         notifyFlags:            LONGINT;                                {  Set to 0 (future expansion) }
  253.         notifyReserved:            LONGINT;                                {  Set to 0 (future expansion) }
  254.         notifyFuture:            LONGINT;                                {  Set to 0 (future expansion) }
  255.     END;
  256.  
  257.     DependentNotifyPtr                    = ^DependentNotifyRec;
  258. {  Exports to support Interfaces library containing unused calls  }
  259.     DMNotificationProcPtr = ProcPtr;  { PROCEDURE DMNotification(VAR theEvent: AppleEvent); }
  260.  
  261.     DMExtendedNotificationProcPtr = ProcPtr;  { PROCEDURE DMExtendedNotification(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr); }
  262.  
  263.     DMComponentListIteratorProcPtr = ProcPtr;  { PROCEDURE DMComponentListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr); }
  264.  
  265.     DMDisplayModeListIteratorProcPtr = ProcPtr;  { PROCEDURE DMDisplayModeListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr); }
  266.  
  267.     DMNotificationUPP = UniversalProcPtr;
  268.     DMExtendedNotificationUPP = UniversalProcPtr;
  269.     DMComponentListIteratorUPP = UniversalProcPtr;
  270.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  271.  
  272. CONST
  273.     uppDMNotificationProcInfo = $000000C0;
  274.     uppDMExtendedNotificationProcInfo = $00000EC0;
  275.     uppDMComponentListIteratorProcInfo = $00000FC0;
  276.     uppDMDisplayModeListIteratorProcInfo = $00000FC0;
  277.  
  278. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  279.     {$IFC NOT GENERATINGCFM }
  280.     INLINE $2E9F;
  281.     {$ENDC}
  282.  
  283. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  284.     {$IFC NOT GENERATINGCFM }
  285.     INLINE $2E9F;
  286.     {$ENDC}
  287.  
  288. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  289.     {$IFC NOT GENERATINGCFM }
  290.     INLINE $2E9F;
  291.     {$ENDC}
  292.  
  293. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  294.     {$IFC NOT GENERATINGCFM }
  295.     INLINE $2E9F;
  296.     {$ENDC}
  297.  
  298. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  299.     {$IFC NOT GENERATINGCFM}
  300.     INLINE $205F, $4E90;
  301.     {$ENDC}
  302.  
  303. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  304.     {$IFC NOT GENERATINGCFM}
  305.     INLINE $205F, $4E90;
  306.     {$ENDC}
  307.  
  308. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  309.     {$IFC NOT GENERATINGCFM}
  310.     INLINE $205F, $4E90;
  311.     {$ENDC}
  312.  
  313. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  314.     {$IFC NOT GENERATINGCFM}
  315.     INLINE $205F, $4E90;
  316.     {$ENDC}
  317. {  Trap interfaces  }
  318. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  319.     {$IFC NOT GENERATINGCFM}
  320.     INLINE $7000, $ABEB;
  321.     {$ENDC}
  322. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  323.     {$IFC NOT GENERATINGCFM}
  324.     INLINE $7001, $ABEB;
  325.     {$ENDC}
  326. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  327.     {$IFC NOT GENERATINGCFM}
  328.     INLINE $7002, $ABEB;
  329.     {$ENDC}
  330. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  331.     {$IFC NOT GENERATINGCFM}
  332.     INLINE $7003, $ABEB;
  333.     {$ENDC}
  334. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  335.     {$IFC NOT GENERATINGCFM}
  336.     INLINE $303C, $0206, $ABEB;
  337.     {$ENDC}
  338. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  339.     {$IFC NOT GENERATINGCFM}
  340.     INLINE $303C, $0207, $ABEB;
  341.     {$ENDC}
  342. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: LONGINT; displayComponent: Component; displayState: Handle): OSErr;
  343.     {$IFC NOT GENERATINGCFM}
  344.     INLINE $303C, $0D08, $ABEB;
  345.     {$ENDC}
  346. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  347.     {$IFC NOT GENERATINGCFM}
  348.     INLINE $303C, $0609, $ABEB;
  349.     {$ENDC}
  350. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  351.     {$IFC NOT GENERATINGCFM}
  352.     INLINE $303C, $040A, $ABEB;
  353.     {$ENDC}
  354. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  355.     {$IFC NOT GENERATINGCFM}
  356.     INLINE $303C, $040B, $ABEB;
  357.     {$ENDC}
  358. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  359.     {$IFC NOT GENERATINGCFM}
  360.     INLINE $303C, $040C, $ABEB;
  361.     {$ENDC}
  362. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  363.     {$IFC NOT GENERATINGCFM}
  364.     INLINE $303C, $0410, $ABEB;
  365.     {$ENDC}
  366. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: LONGINT; VAR depthMode: LONGINT; reserved: LONGINT; displayState: Handle): OSErr;
  367.     {$IFC NOT GENERATINGCFM}
  368.     INLINE $303C, $0A11, $ABEB;
  369.     {$ENDC}
  370. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: LONGINT; depthMode: LONGINT; VAR switchFlags: LONGINT; reserved: LONGINT; VAR modeOk: BOOLEAN): OSErr;
  371.     {$IFC NOT GENERATINGCFM}
  372.     INLINE $303C, $0C12, $ABEB;
  373.     {$ENDC}
  374. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  375.     {$IFC NOT GENERATINGCFM}
  376.     INLINE $303C, $0213, $ABEB;
  377.     {$ENDC}
  378. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  379.     {$IFC NOT GENERATINGCFM}
  380.     INLINE $303C, $0414, $ABEB;
  381.     {$ENDC}
  382. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $303C, $0415, $ABEB;
  385.     {$ENDC}
  386. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $303C, $0216, $ABEB;
  389.     {$ENDC}
  390. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $303C, $0217, $ABEB;
  393.     {$ENDC}
  394. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  395.     {$IFC NOT GENERATINGCFM}
  396.     INLINE $303C, $0218, $ABEB;
  397.     {$ENDC}
  398. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  399.     {$IFC NOT GENERATINGCFM}
  400.     INLINE $303C, $0619, $ABEB;
  401.     {$ENDC}
  402. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  403.     {$IFC NOT GENERATINGCFM}
  404.     INLINE $303C, $041A, $ABEB;
  405.     {$ENDC}
  406. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  407.     {$IFC NOT GENERATINGCFM}
  408.     INLINE $303C, $041B, $ABEB;
  409.     {$ENDC}
  410. FUNCTION DMBlockMirroring: OSErr;
  411.     {$IFC NOT GENERATINGCFM}
  412.     INLINE $701C, $ABEB;
  413.     {$ENDC}
  414. FUNCTION DMUnblockMirroring: OSErr;
  415.     {$IFC NOT GENERATINGCFM}
  416.     INLINE $701D, $ABEB;
  417.     {$ENDC}
  418. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  419.     {$IFC NOT GENERATINGCFM}
  420.     INLINE $303C, $021E, $ABEB;
  421.     {$ENDC}
  422. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  423.     {$IFC NOT GENERATINGCFM}
  424.     INLINE $303C, $051F, $ABEB;
  425.     {$ENDC}
  426. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  427.     {$IFC NOT GENERATINGCFM}
  428.     INLINE $303C, $0520, $ABEB;
  429.     {$ENDC}
  430. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  431.     {$IFC NOT GENERATINGCFM}
  432.     INLINE $303C, $0421, $ABEB;
  433.     {$ENDC}
  434. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  435.     {$IFC NOT GENERATINGCFM}
  436.     INLINE $303C, $0422, $ABEB;
  437.     {$ENDC}
  438. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  439.     {$IFC NOT GENERATINGCFM}
  440.     INLINE $303C, $0D23, $ABEB;
  441.     {$ENDC}
  442. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  443.     {$IFC NOT GENERATINGCFM}
  444.     INLINE $303C, $0424, $ABEB;
  445.     {$ENDC}
  446. FUNCTION DMResolveDisplayComponents: OSErr;
  447.     {$IFC NOT GENERATINGCFM}
  448.     INLINE $7025, $ABEB;
  449.     {$ENDC}
  450. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: INTEGER; whichPSN: ProcessSerialNumberPtr): OSErr;
  451.     {$IFC NOT GENERATINGCFM}
  452.     INLINE $303C, $07EF, $ABEB;
  453.     {$ENDC}
  454. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: INTEGER): OSErr;
  455.     {$IFC NOT GENERATINGCFM}
  456.     INLINE $303C, $0726, $ABEB;
  457.     {$ENDC}
  458. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  459.     {$IFC NOT GENERATINGCFM}
  460.     INLINE $303C, $0C27, $ABEB;
  461.     {$ENDC}
  462. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: LONGINT; reserved: LONGINT; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  463.     {$IFC NOT GENERATINGCFM}
  464.     INLINE $303C, $0C28, $ABEB;
  465.     {$ENDC}
  466. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: LONGINT; reserved: LONGINT; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  467.     {$IFC NOT GENERATINGCFM}
  468.     INLINE $303C, $0A29, $ABEB;
  469.     {$ENDC}
  470. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  471.     {$IFC NOT GENERATINGCFM}
  472.     INLINE $303C, $0A2A, $ABEB;
  473.     {$ENDC}
  474. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  475.     {$IFC NOT GENERATINGCFM}
  476.     INLINE $303C, $0A2B, $ABEB;
  477.     {$ENDC}
  478. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  479.     {$IFC NOT GENERATINGCFM}
  480.     INLINE $303C, $022C, $ABEB;
  481.     {$ENDC}
  482. FUNCTION DMGetNameByAVID(theID: AVIDType; nameFlags: LONGINT; VAR name: Str255): OSErr;
  483.     {$IFC NOT GENERATINGCFM}
  484.     INLINE $303C, $062D, $ABEB;
  485.     {$ENDC}
  486. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: AVIDType): OSErr;
  487.     {$IFC NOT GENERATINGCFM}
  488.     INLINE $303C, $082E, $ABEB;
  489.     {$ENDC}
  490. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  491.     {$IFC NOT GENERATINGCFM}
  492.     INLINE $303C, $082F, $ABEB;
  493.     {$ENDC}
  494. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  495.     {$IFC NOT GENERATINGCFM}
  496.     INLINE $303C, $0830, $ABEB;
  497.     {$ENDC}
  498. FUNCTION DMDisposeAVComponent(theAVComponent: Component): OSErr;
  499.     {$IFC NOT GENERATINGCFM}
  500.     INLINE $303C, $0231, $ABEB;
  501.     {$ENDC}
  502. FUNCTION DMSaveScreenPrefs(reserved1: LONGINT; saveFlags: LONGINT; reserved2: LONGINT): OSErr;
  503.     {$IFC NOT GENERATINGCFM}
  504.     INLINE $303C, $0632, $ABEB;
  505.     {$ENDC}
  506. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: DisplayIDType): OSErr;
  507.     {$IFC NOT GENERATINGCFM}
  508.     INLINE $303C, $0833, $ABEB;
  509.     {$ENDC}
  510. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  511.     {$IFC NOT GENERATINGCFM}
  512.     INLINE $303C, $0C34, $ABEB;
  513.     {$ENDC}
  514. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  515.     {$IFC NOT GENERATINGCFM}
  516.     INLINE $303C, $0835, $ABEB;
  517.     {$ENDC}
  518. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  519.     {$IFC NOT GENERATINGCFM}
  520.     INLINE $303C, $0A36, $ABEB;
  521.     {$ENDC}
  522. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  523.     {$IFC NOT GENERATINGCFM}
  524.     INLINE $303C, $0A37, $ABEB;
  525.     {$ENDC}
  526. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  527.     {$IFC NOT GENERATINGCFM}
  528.     INLINE $303C, $0838, $ABEB;
  529.     {$ENDC}
  530. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: LONGINT): OSErr;
  531.     {$IFC NOT GENERATINGCFM}
  532.     INLINE $303C, $0839, $ABEB;
  533.     {$ENDC}
  534. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: LONGINT; displayState: Handle): OSErr;
  535.     {$IFC NOT GENERATINGCFM}
  536.     INLINE $303C, $083A, $ABEB;
  537.     {$ENDC}
  538. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  539.     {$IFC NOT GENERATINGCFM}
  540.     INLINE $303C, $043B, $ABEB;
  541.     {$ENDC}
  542. FUNCTION DMGetEnableByAVID(theAVID: AVIDType; VAR isAVIDEnabledNow: BOOLEAN; VAR canChangeEnableNow: BOOLEAN): OSErr;
  543.     {$IFC NOT GENERATINGCFM}
  544.     INLINE $303C, $063C, $ABEB;
  545.     {$ENDC}
  546. FUNCTION DMSetEnableByAVID(theAVID: AVIDType; doEnable: BOOLEAN; displayState: Handle): OSErr;
  547.     {$IFC NOT GENERATINGCFM}
  548.     INLINE $303C, $053D, $ABEB;
  549.     {$ENDC}
  550. FUNCTION DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr;
  551.     {$IFC NOT GENERATINGCFM}
  552.     INLINE $303C, $043E, $ABEB;
  553.     {$ENDC}
  554. {$ENDC}
  555. {$ALIGN RESET}
  556. {$POP}
  557.  
  558. {$SETC UsingIncludes := DisplaysIncludes}
  559.  
  560. {$ENDC} {__DISPLAYS__}
  561.  
  562. {$IFC NOT UsingIncludes}
  563.  END.
  564. {$ENDC}
  565.